package com.ryder.petmatediarybackend.module.shop.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 描述：店铺宠物合集VO
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-31
 */
@Data
@Schema(description = "店铺宠物合集视图对象")
public class PetCollectionVO {

    @Schema(description = "合集ID")
    private Long id;

    @Schema(description = "店铺ID")
    private Long shopId;

    @Schema(description = "宠物名称")
    private String petName;

    @Schema(description = "宠物类型：1=猫 2=狗 3=其他")
    private Integer petType;

    @Schema(description = "宠物类型文本")
    private String petTypeText;

    @Schema(description = "品种")
    private String breed;

    @Schema(description = "年龄（月）")
    private String ageMonths;

    @Schema(description = "性别：1=公 2=母")
    private Integer gender;

    @Schema(description = "性别文本")
    private String genderText;

    @Schema(description = "价格（仅展示）")
    private Double price;

    @Schema(description = "宠物图片URL列表")
    private List<String> images;

    @Schema(description = "描述")
    private String description;

    @Schema(description = "是否已预留：0=否 1=是")
    private Integer isReserved;

    @Schema(description = "预留用户ID")
    private Long reservedUserId;

    @Schema(description = "预留时间")
    private LocalDateTime reservedTime;

    @Schema(description = "状态：1=展示中 2=已下架")
    private Integer status;

    @Schema(description = "状态文本")
    private String statusText;

    @Schema(description = "审核状态：0=待审核 1=审核通过 2=审核驳回")
    private Integer auditStatus;

    @Schema(description = "审核状态文本")
    private String auditStatusText;

    @Schema(description = "审核备注")
    private String auditRemark;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
}

